﻿Imports System.Data.Common

Public Class MRemision_Inv
    Public NumRemision As String
    Public Fecha As String
    Public IdTercero As Double
    Public Subtotal As Double
    Public Iva As Double
    Public Total As Double
    Public Devolucion As Double
    Public Estado As String
    Public CodUsuario As String
    Public Fecha_Anula As String
    Public CodUsuarioAnula As String

    Public Shared Function Nuevo(ByVal mrem As MRemision_Inv, conexion As ConexionBD.ConexionBD) As Resultado
        Dim oResultado As New Resultado
        Dim sentencia As String
        Dim ok As Boolean = False
        sentencia = "SP_MREMISION_INV_I"
        conexion.ParametroEntrada = New List(Of DbParameter)
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mrem.NumRemision, "P_NUM_REMISION_INV"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInFecha(conexion, mrem.Fecha, "P_FECHA_REMISION"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInDouble(conexion, mrem.IdTercero, "P_ID_TERCERO"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInDouble(conexion, mrem.Subtotal, "P_SUBTOTAL"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInDouble(conexion, mrem.Iva, "P_IVA"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInDouble(conexion, mrem.Total, "P_TOTAL"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInDouble(conexion, mrem.Devolucion, "P_DEVOLUCION"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mrem.CodUsuario, "P_COD_USUARIO"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutChar(conexion, "", "P_ERROR"))
        conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutString(conexion, "", "P_MENSAJE"))
        ok = conexion.EjecutarProcedimiento(sentencia)
        oResultado.ExisteError = conexion.ExisteError
        oResultado.Mensaje = conexion.mensaje
        If Not oResultado.ExisteError Then
            oResultado.NumSoporte = conexion.ParametroSalida.Parameters("P_NUM_REMISION_INV").Value
        End If
        Return oResultado
    End Function
End Class
